Systems and method for coordinated multipoint downlink transmissions

ABSTRACT

A method for determining antenna weights for use in transmitting data from a plurality of base stations to a user device is disclosed. The antenna weights are determined using an input covariance matrix (S), and the input covariance matrix is determined subject to a predetermined power constraint and a predetermined, non-zero interference constraint.

TECHNICAL FIELD

The present invention relates to cellular communication systems. Morespecifically, in some aspects, the present invention relates tocoordinated cellular communication systems.

BACKGROUND

In a non-coordinated, conventional cellular communication system, thetransmissions to different users are formed independently. Hence, thetransmission to one user typically acts as unwanted interference toother users. Because the system forms the transmission to each userindependently, the system has no way of knowing how a transmission to aparticular user will impact other users in the vicinity. As a result,with small to medium-sized cells and orthogonal multiple access withinone cell, other-cell interference is a main factor limiting theperformance of evolved cellular systems. Particularly for users near thecell edge, the other-cell interference is a main factor prohibiting thedelivery of high data rate to these users.

In a non-coordinated multiple-input multiple output (MIMO) transmissionwith channel state information (CSI) available at the transmitter, wherethe transmitted signal for user u₀ is formed independently of whatinterference this transmitted signal generates at other users, theoutput vector y received by the desired user u₀ is given by Equation (1)below

y=Hx+n,   (1),

where x is a vector of size t×1 that represents the total signaltransmitted from all the transmitted antennas, H is a fixed channelresponse matrix for user u₀ whose size is r×t (the channel matrix forthe desired user is fixed and is perfectly known at the transmitter andby the desired user u₀), and n is a Gaussian, circularly symmetric,complex-valued random noise vector with zero mean and covariance N₀ I.

Let

S=E[xx^(†)]  (2)

represent the transmit covariance matrix, and under the total averagepower constraint at the transmitter, we require that

tr(S)≦P ₀.   (3)

The maximum data rate that can be reliably transmitted over the channelH is referred to as the capacity of the MIMO channel H. This capacity isobtained by maximizing the mutual information between x and y over allpossible choices of S:

$\begin{matrix}{{{minimize}\mspace{14mu} {\Phi (S)}} = {{- \log}\; {\det( {I + {\frac{1}{N_{0}}{HSH}^{\dagger}}} )}}} & (4)\end{matrix}$

subject to S≧0   (5)

tr(S)≦P₀   (6)

Viewed as an optimization problem over the set of positive semidefinitematrices of size t×t, denoted by S₊ ^(t), the problem in Equation (4) isconvex; since, the objective function Φ(S) is a convex function of S,and the constraint (6) is linear in S.

The Lagrangian associated with the optimization problem equation (4) is:

$\begin{matrix}{{L( {S,l_{1},Y} )} = {{{- \log}\; {\det ( {I + {\frac{1}{N_{0}}H\; S\; H^{\dagger}}} )}} + {l_{1}( {{{tr}(S)} - P_{0}} )} - {{tr}({YS})}}} & (7)\end{matrix}$

where λ₁ is the Lagrangian multiplier associated with the constraintequation (5), and Ψ is the Lagrangian multiplier matrix associated withthe constraint equation (3). Given that the problem is convex, andassuming that a strictly feasible S exists, the following KKT conditionsare necessary and sufficient for optimality:

$\begin{matrix}{\frac{\partial L}{\partial S} = {{{{- \frac{1}{N_{0}}}{H^{\dagger}( {I + {\frac{1}{N_{0}}H\; S\; H^{\dagger}}} )}^{- 1}H} + {\lambda_{1}I} - \Psi} = 0}} & (8)\end{matrix}$tr(ΨS)=0   (9)

λ₁(tr(S)−P ₀)=0   (10)

λ₁, Ψ≧0   (11)

By direct substitution, it can be easily verified that the well-knownwaterfilling solution for S satisfies the KKT conditions of equation(8):

H=UAV^(†)  (12)

Λ=diag(μ₁,μ₂, . . . ,μ_(r),0, . . . ,0)   (13)

S=Vdiag(P ₁ ,P ₂ , . . . P _(r),0, . . . 0)V ^(†)  (14)

$\begin{matrix}{P_{i} = ( {\frac{1}{\lambda^{1}} - \frac{N_{0}}{\mu_{i}^{2}}} )_{+}} & (15) \\{{\sum\limits_{i = 1}^{r}( {\frac{1}{\lambda^{1}} - \frac{N_{0}}{\mu_{i}^{2}}} )_{+}} = P_{0}} & (16)\end{matrix}$

It is important to note that the solution for S obtained in equations(12-16) result in tr(S)=P₀ and λ₁>0, i.e. the obtained S satisfies thefollowing specific version of the KKT conditions:

$\begin{matrix}{{{{- \frac{1}{N_{0}}}{H^{\dagger}( {I + {\frac{1}{N_{0}}H\; S\; H^{\dagger}}} )}^{- 1}H} + {\lambda_{1}I} - \Psi} = 0} & (17)\end{matrix}$tr(ΨS)=0   (18)

tr(S)−P ₀=0   (19)

λ₁>0   (20)

Ψ≧0   (21)

A coordinated cellular communication system with distributed antennasuses it knowledge of the propagation environment to control the mutualinterference by jointly shaping the signals that are transmitted to allthe users. Coordinated transmission methods on the downlink mustfundamentally adjust the transmission to each user so that two competinggoals are satisfied: (1) a transmission to a user should be configuredsuch that the signal corresponding to the transmission that is receivedat the antenna(s) of the user is strong and (2) the signal correspondingto the transmission that is received by the antennas of all other usersshould be weak.

Zero-Forcing Coordinated Transmission

With zero-forcing transmission, the transmission to each user generatesabsolutely no interference to any other active user in the coordinatedmultipoint (CoMP) cell, while the total power transmitted to each usermust be below a pre-specified limit P₀. See e.g., G. Caire and S.Shamai, “On the achievable throughput in multiantenna Gaussian broadcastchannel,” IEEE Trans. Infor. Theory, vol. 49, July 2003.

Problem with Existing Technology

A problem with non-coordinated transmission is that it ignorescompletely the fact that in a wireless environment, the transmission toone user acts as interference to all other users. A problem withzero-forcing, coordinated transmission is that it breaks down at highsystem loads. COMP methods on the downlink must fundamentally adjust thetransmission to each user so that two competing goals are satisfied: (1)the signal received by the antennas of user u₀ must be strong, (2) thesignal received by the antennas of all other users must be weak. Bymaking the interference zero, the zero-forcing method fundamentally putstoo much emphasis on the second goal, at the expense of ignoring thefirst goal. At high loads, there are a large number of antennas that thetransmitted signal for user u₀ must be projected away from; hence, thetransmitted signal is restricted to a very small sub-space. In thiscase, it is quite likely that transmitting in this very restrictedsub-space will result in a small received signal power at the desireduser u₀. This effect is similar to the well-known “noise-enhancement”problem associated with a zero-forcing receiver.

SUMMARY

As discussed above, coordinated transmission methods on the downlinkmust fundamentally adjust the transmission to each user so that twocompeting goals are satisfied: (1) the signal received by the antennasof user u₀ must be strong, (2) the signal received by the antennas ofall other users must be weak. In embodiments of the present invention,our approach is to make the interference to other users small butnon-zero. More specifically, we determine the transmission scheme thatmaximizes the data rate that can be reliably transmitted to user u₀subject to two constraints: (1) the total power transmitted to user u₀must be kept below P₀, and (2) the sum of the interference generated bythe signal transmitted for user u₀ at all other users must be kept belowP_(I).

The formulation presented in this disclosure can be considered ageneralization of the zero-forcing transmission technique, where thetotal interference generated by the signal transmitted for user u₀ atall other users is zero.

Thus, in one aspect the present invention provides a method fortransmitting data from a plurality of base stations to a user device. Insome embodiments, the method includes the steps of: (1) determiningantenna weights for each of the plurality of base stations that maximizethe data rate that can be reliably transmitted to the user devicesubject to a predetermined power constraint and a predetermined,non-zero interference constraint; and (2) transmitting data to the userdevice using the determined antenna weights.

In some embodiments, the step of determining the antenna weightsincludes the following steps: (1) for the user device and each of aplurality of other user devices in communication with the plurality ofbase stations, determining a channel response matrix (H); (2) for theuser device and each the plurality of other user devices, generating aninterference constraint matrix (G); (3) using H and G for the userdevice, determining an input covariance matrix (S) for the user devicesubject to the predetermined power constraint and the predetermined,non-zero interference constraint; (4) using S, determining antennaweights for each of the plurality of base stations.

In some embodiments, the step of determining S subject to the powerconstraint and the interference constraint comprises: (1) selecting avariable (a); and (2) using α to compute S. In some embodiments, thestep of selecting α comprises: (a) setting α to an initial value; (b)after step (a), using α to determine a transmit power; (c) after step(b), determining whether the determined transmit power is equal or aboutequal to predetermined power constraint value (P₀); and (d) after step(c), increasing or decreasing α and repeating steps (b) through (d) ifthe determined transmit power is not equal or about equal to P₀. Thestep of using α to determine the transmit power may includes computingequations (72)-(77) and (81), which are defined below.

In some embodiments, the step of determining S further comprises: (a)determining S subject only to the predetermined power constraint; (b)after step (a), evaluating interference generated for the plurality ofother user devices; (c) based on the evaluated interference, determiningwhether the predetermined interference constraint is satisfied. In someembodiments, steps (a)-(c) are performed prior to the step ofdetermining S subject to the predetermined power constraint and thepredetermined interference constraint. In some embodiments, step (a)comprises computing equations (12) through (16), which are definedbelow.

In some embodiments, the step of determining S further comprises:(d)determining whether an interference constraint matrix has a full rank inresponse to determining in step (c) that the predetermined interferenceconstraint is not satisfied. In some embodiments, the step ofdetermining S subject to the predetermined power constraint and thepredetermined interference constraint is performed in response todetermining in step (d) that the interference constraint matrix does nothave a full rank.

In some embodiments, the step of determining S further comprises: (e)computing S subject only to the predetermined interference constraint;and (f) after step (e), determining whether the power constraint issatisfied. In some embodiments, the step of determining S subject to thepredetermined power constraint and the predetermined interferenceconstraint is performed in response to determining in step (f) that thepower constraint is not satisfied.

In another aspect, the present invention provides a controller fordetermining antenna weights for use in transmitting data to a userdevice via a plurality of base stations in communication with thecontroller. In some embodiments, the controller includes: a transmitterand receiver for communicating with the plurality of base stations; adata storage system; and a data processing system. The data processingsystem is configured to: (1) determine antenna weights for each of theplurality of base stations that maximize the data rate that can bereliably transmitted to the user device subject to a predetermined powerconstraint and a predetermined, non-zero interference constraint; and(2) cause the data to be transmitted to the user device using thedetermined antenna weights.

The above and other aspects and embodiments are described below withreference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated herein and form partof the specification, illustrate various embodiments of the presentinvention and, together with the description, further serve to explainthe principles of the invention and to enable a person skilled in thepertinent art to make and use the invention. In the drawings, likereference numbers indicate identical or functionally similar elements.

FIG. 1 illustrates a system according to an embodiment of the invention.

FIG. 2 is a functional block diagram of a controller according to someembodiments of the invention.

FIG. 3 is a flow chart illustrating a process according to someembodiments of the invention.

FIG. 4 is a flow chart illustrating a process according to someembodiments of the invention.

FIG. 5 is a flow chart illustrating a process according to someembodiments of the invention.

FIG. 6 is a functional block diagram of a controller according to someembodiments of the invention.

FIG. 7 is a plot illustrating an advantage of an embodiment of thepresent invention.

DETAILED DESCRIPTION

Referring now to FIG. 1, FIG. 1 illustrates a MIMO cellularcommunication system 100 according to an embodiment of the invention. Asshown in FIG. 1, two users (u₀ and u₁) each receive a signal xtransmitted from base stations 104 (e.g., base stations 104 a and 104b), and the received signal due to x acts as unwanted interference foruser u₁ (in the example u₀ has two antennas and u₁ has four antennas,but one skilled in the art will appreciate that user devices can haveany number of antennas and there could be more than one user device towhom signal x acts as unwanted interference. One skilled in the art willunderstand that the present invention also applies to the case wherethere are multiple users to whom signal x acts as unwatned interference.It is natural to ask what is the maximum data rate that can be reliablytransmitted to user u₀ subject to the constraint that the interferencepower received by user u₁ (here u1 represents all of the other users)must remain below a pre-specified value P_(I).

Assuming that G represents the MIMO channel to user u₁, the receivedinterference at user u₁ due to transmission of x to u₀ is:

y_(I)=Gx   (22)

The received interference power at user u₁ due to transmission of x touser u₀ is then:

$\begin{matrix}{I = {E\{ {{tr}( {y_{I}y_{I}^{\dagger}} )} \}}} & (23) \\{\mspace{11mu} {= {E\{ {{tr}( {({Gx})({Gx})^{\dagger}} )} \}}}} & (24) \\{\mspace{14mu} {= {{tr}( {E\{ {G^{\dagger}G} \} S} )}}} & (25)\end{matrix}$

where in going from equation (24) to (25), we have used the assumptionthat the transmitted signal x is independent of the channel G. Moreformally, the capacity of the MIMO channel with an interference powerconstraint can be expressed as the solution to the followingoptimization problem:

$\begin{matrix}{{{minimize}\mspace{14mu} {\Phi (S)}} = {- {{logdet}( {I + {\frac{1}{N_{0}}H\; S\; H^{\dagger}}} )}}} & (26)\end{matrix}$subject to S≧0   (27)

tr(S)≦P ₀   (28)

tr(QS)≦P ₁   (29)

where we assume that Q in equation (29) belongs to S₊ ^(t) (e.g.Q=E{G^(†)G}). The above optimization problem is again convex over S∈S₊^(t); since, the objective function is convex, and both constraints arelinear in S.

In equation (26), we have used N₀ for the noise seen by the desired useru₀, which is valid if the transmitter to user u₁ is different from thetransmitter to user u₀. If the the same transmitter is used to transmitto both users, one should also consider the impact of the transmissionto user u₁ on user u₀. Assuming that transmission to user u₁ is formedsuch that the interference power received by user u₀ is also belowP_(I), one could approximate this impact by replacing N₀ in equation(26) by (N₀+P_(I)). Since, P_(I) is just a known constant, thisreplacement will not change the formulation of the problem at all. Forsimplicity of exposition, we will continue to use N₀ in equation (26).

Following the same steps as before, the Lagrangian for the optimizationproblem in equation (26) can be expressed as:

$\begin{matrix}{{{L( {S,\lambda_{1},\lambda_{2},\Psi} )} = {{- {{logdet}( {I + {\frac{1}{N_{0}}H\; S\; H^{\dagger}}} )}} + {\lambda_{1}( {{{tr}(S)} - P_{0}} )} + {\lambda_{2}( {{{tr}({QS})} - P_{I}} )} - {{tr}( {\Psi \; S} )}}},} & (30)\end{matrix}$

and the corresponding KKT conditions for the interference constrainedproblems are:

$\begin{matrix}{\frac{\partial L}{\partial S} = {{{{- \frac{1}{N_{0}}}{H^{\dagger}( {I + {\frac{1}{N_{0}}H\; S\; H^{\dagger}}} )}^{- 1}H} + {\lambda_{1}I} + {\lambda_{2}Q} - \Psi} = 0}} & (31)\end{matrix}$tr(ΨS)=0   (32)

λ₁(tr(S)−P ₀)=0   (33)

λ₂(tr(QS)−P ₁)=0   (34)

λ₁,λ₂≧0   (35)

Ψ≧0   (36)

Again, we will assume that a strictly feasible S exists; hence, the KKTconditions corresponding to equation (31-36) are sufficient andnecessary for optimality. The solution to the optimization problemequation (26) is then the unique solution to the KKT equations (31-36).

Focusing on the KKT conditions (equation (33), equation (34), andequation (35)), there are four distinct ways in which these threeequations can be simultaneously satisfied:

(tr(S)<P ₀ ;l ₁=0) and (tr(QS)<P ₁ ;l ₂=0)   (1)

(tr(S)=P ₀ ;l ₁>0) and (tr(QS)<P ₁ ;l ₂=0)   (2)

(tr(S)<P ₀ ;l ₁=0) and (tr(QS)=P ₁ ;l ₂>0)   (3)

(tr(S)=P ₀ ;l ₁>0) and (tr(QS)=P ₁ ;l ₂>0)   (4)

In the following four subsections, we will treat each of the above casesseparately. To avoid getting a degenerate solution for S, we will makethe additional assumption that the optimal S results in an objectivefunction that is strictly greater than zero. This is a rather mildassumption that essentially says the problem should have a non-trivial(i.e. non-zero) solution.

Case 1

We show by contradiction that the optimal solution can not belong tocase 1. Assume that S_(★) is the optimal solution, and assume that itsatisfies the conditions of case 1. Assuming that the problem has anon-trivial solution resulting in non-zero objective function, we canshow that Φ(βS_(★)) is a monotonically decreasing function of β≧0. Thisimplies that one could always decrease the objective function byreplacing S_(★) with βS_(★) as long as β is strictly larger than 1;however by continuity, for β sufficiently close to 1 (but still strictlylarger than 1), tr(βS)<P₀ and tr(QβS)<P₁. Hence, we have arrived at acontradiction; since, S is supposed to be the unique optimal solution ofthe optimization problem.

Case 2

In this case, the KKT conditions for the interference problem becomeidentical to the KKT condition for the MIMO channel subject only to atransmit power constraint. Hence, the optimal S in this case can beobtained from equations (12)-(15).

Case 3

In this case, the KKT conditions reduce to the following:

$\begin{matrix}{\frac{\partial L}{\partial S} = {{{{- \frac{1}{N_{0}}}{H^{\dagger}( {I + {\frac{1}{N_{0}}H\; S\; H^{\dagger}}} )}^{- 1}H} + {\lambda_{2}Q} - \Psi} = 0}} & (37)\end{matrix}$tr(ΨS)=0   (38)

tr(QS)−P ₁=0   (39)

λ₂>0   (40)

Ψ≧0   (41)

We will treat the case where Q is full rank (i.e. invertible)separately, from the case where Q is rank deficient.Case 3 with a Full-Rank Q

With a full-rank Q, we define the square root of Q as:

Q=WW^(†).   (42)

It is important to note that in this case, W is also a full-rank matrix.Next, let us change to the following equivalent variables:

{tilde over (H)}=HW ^(−†)  (43)

{tilde over (S)}=W^(†)SW   (44)

{tilde over (Ψ)}=W ⁻¹ ΨW ^(−†)  (45)

The KKT conditions for Case 3 (37-41) can be expressed in terms of thenew variables in equation (43-45) as:

$\begin{matrix}{{{{- \frac{1}{N_{0}}}{{\overset{\sim}{H}}^{\dagger}( {I + {\frac{1}{N_{0}}\overset{\sim}{H}\overset{\sim}{S}{\overset{\sim}{H}}^{\dagger}}} )}^{- 1}\overset{\sim}{H}} + {\lambda_{2}I} - \overset{\sim}{\Psi}} = 0} & (46)\end{matrix}$tr({tilde over (Ψ)}{tilde over (S)})=0   (47)

tr({tilde over (S)})−P ₁=0   (48)

λ₂>0   (49)

{tilde over (Ψ)}≧0   (50)

In terms of the changed variables, the KKT equations (46-50) have theexactly the same form as the KKT equations (17-21) that we encounteredin obtaining the capacity of the MIMO channel subject only to a transmitpower constraint. Hence, the solution to equation (46-50) can beobtained by the standard waterfilling based on the SVD of {tilde over(H)}, let this solution be called {tilde over (S)}_(★). Given {tildeover (S)}_(★), the optimal S can be obtained according to:

S _(★)=W^(−†) {tilde over (S)} _(★)W⁻¹   (51)

Case 3 with Rank Deficient Q

If Q is rank deficient, Q can be expressed as

$\begin{matrix}{Q = {{\begin{bmatrix}V_{1} & V_{0}\end{bmatrix}\begin{bmatrix}\Lambda & 0 \\0 & 0\end{bmatrix}}\begin{bmatrix}V_{1}^{\dagger} \\V_{0}^{\dagger}\end{bmatrix}}} & (52)\end{matrix}$

where [V₁V₀] is a unitary matrix. Note that this unitary propertyimplies that V₁V₀ ^(†)=0. Using this decomposition it is easy to showthat this case can not happen.

Case 4

The KKT conditions in this case can be expressed as:

$\begin{matrix}{{{{- \frac{1}{N_{0}}}{H^{\dagger}( {I + {\frac{1}{N_{0}}H\; S\; H^{\dagger}}} )}^{- 1}H} + {\lambda_{2}( {Q + {\frac{\lambda_{1}}{\lambda_{2}}I}} )} - \Psi} = 0} & (53)\end{matrix}$tr(ΨS)=0   (54)

tr(S)−P ₀=0   (55)

tr(QS)−P ₁=0   (56)

λ₁,λ₂>0   (57)

Ψ≧0   (58)

The following change of variables will be helpful in solving the aboveKKT conditions for S:

$\begin{matrix}{\alpha = \frac{\lambda_{1}}{\lambda_{2}}} & (59)\end{matrix}${tilde over (Q)}(α)=(Q+αI)   (60)

{tilde over (W)}(α){tilde over (W)} ^(†)(α)={tilde over (Q)}(α)   (61)

{tilde over (S)}(α)={tilde over (W)} ^(†) S{tilde over (W)}  (62)

{tilde over (H)}(α)=H{tilde over (W)} ^(−†)(α)   (63)

{tilde over (Ψ)}(α)={tilde over (W)} ⁻¹ Ψ{tilde over (W)} ^(†)  (64)

It is important to note that equation (57) implies that a is alwaysstrictly greater than zero in case 4, and this in turn implies that{tilde over (Q)}(α) is always full rank, and {tilde over (W)}(α) isalways full rank in case 4.

The KKT conditions equation (53-58) can be expressed equivalently interms of the new variables defined in equation (59-64) as:

$\begin{matrix}{{{{- \frac{1}{N_{0}}}{{\overset{\sim}{H}}^{\dagger}(\alpha)}( {I + {\frac{1}{N_{0}}{\overset{\sim}{H}(\alpha)}\overset{\sim}{S}{{\overset{\sim}{H}}^{\dagger}(\alpha)}}} )^{- 1}{\overset{\sim}{H}(\alpha)}} + {\lambda_{2}I} - \overset{\sim}{\Psi}} = 0} & (65)\end{matrix}$tr({tilde over (Ψ)}{tilde over (S)})=0   (66)

tr({tilde over (S)})−αP ₀ −P ₁=0   (67)

α₂>0   (68)

{tilde over (Ψ)}≧0   (69)

tr({tilde over (W)} ^(−†)(α){tilde over (S)}{tilde over (W)} ⁻¹(α))−P₀=0   (70)

α>0   (71)

For any given α>0, equations (65-69) are identical in form to theequations (17-21) that we encountered in finding the capacity of thestandard MIMO channel subject only to a transmit power constraint.Hence, for any given α>0, the standard waterfilling approach based onthe SVD of {tilde over (H)}(α) can be used to solve for {tilde over (S)}as a function of α:

{tilde over (W)}(α){tilde over (W)} ^(†)(α)=(Q+αI)   (72)

{tilde over (H)}=U(α)Λ(α)V ^(†)(α)   (73)

Λ(α)=diag(μ₁(α),μ₂(α), . . . ,μ_(r)(α),0, . . . ,0)   (74)

$\begin{matrix}{{P_{i}(\alpha)} = ( {\frac{1}{\lambda^{2}} - \frac{N_{0}}{\mu_{i}^{2}(\alpha)}} )_{+}} & (75) \\{{\sum\limits_{i = 1}^{r}( {\frac{1}{\lambda^{2}} - \frac{N_{0}}{\mu_{i}^{2}(\alpha)}} )_{+}} = {{\alpha \; P_{0}} + P_{I}}} & (76)\end{matrix}${tilde over (S)}(α)=Vdiag(P ₁(α),P ₂(α), . . . ,P _(r)(α),0, . . . ,0)V^(†)  (77)

Finally, to determine the optimal value of α, we substitute {tilde over(S)}(α) from equation (77) in the 6-th KKT condition (i.e. in equation(70)) thus obtaining:

tr({tilde over (W)} ^(−†)(α){tilde over (S)}(α){tilde over (W)} ⁻¹(α))=P₀   (78)

The only unknown in equation (78) is α; hence, this equation can benumerically solved to obtain the optimal value of α.

A slightly more convenient form of equation (78) can be obtained basedon the SVD of the matrix Q. To this end, let Q=V_(Q)Λ_(Q)V_(Q) ^(†),where V_(Q) is a unitary matrix and Λ_(Q) is a diagonal matrix. One canthen express {tilde over (W)}(α) as:

{tilde over (W)}(α)=V _(Q)(Λ_(Q) +αI)^(1/2)   (79)

{tilde over (W)} ⁻¹(α)=(V _(Q) +αI)^(−1/2) V _(Q) ^(†).   (80)

Substituting equation (79-80) in equation (78) and rearranging terms, weget:

tr((Λ_(Q) +αI)⁻¹ {tilde over (S)}(α))=P ₀   (81)

Numerically, computing the left-hand side of equation (81) requires onlyinverting a diagonal matrix, while computing the left-hand side ofequation (78) requires inverting a full matrix {tilde over (W)}(α).

In summary, equation (81) is a single equation in terms of the scalarvariable α that must be solved numerically to determine the optimalvalue of α. Once the optimal α is determined, equation (72-77) can beused to determine the optimal value of {tilde over (S)} and {tilde over(W)}. Finally, the optimal value of the input covariance matrix S can beobtained according to:

S={tilde over (W)} ^(−†) {tilde over (S)}{tilde over (W)} ⁻¹.   (82)

Numerical Results

We compare the system-level performance of a system with COMPTransmission on the downlink with two transmission techniques: (1)Zero-forcing beamforming and (2) the herein described Epsilon-forcingbeamforming.

With zero-forcing beamforming, the transmission to each user generatesabsolutely no interference to any other active user in the CoMP cell.With epsilon-forcing beamforming the transmission to each user isgenerated in such a way that the average interference generated at allother active user is below some ε. In either method, the total powertransmitted to each user must be below a pre-specified limit.

Referring now to FIG. 7, FIG. 7 is a plot of the 10 percentile userbitrate versus the system throughput for both methods. From this figure,we see that at low to moderate system loads, the two methods performsvery similarly. However, at high system loads, the epsilon-forcingmethod (labeled “EF” in the plot) significantly out performs thezero-forcing (labeled “ZF” in the plot) method.

Referring back to FIG. 1, as shown in FIG. 1, system 100 includes acontroller 106 in communication with base stations 104 a and 104 b. Onlytwo base stations and two users are shown for simplicity. One ofordinary skill in the art will appreciate that system 100 may includemore than two base stations and more than two users. Controller 106 isconfigured to determine the optimal value of S, as described above, andthen use this value to compute antenna weights for use in transmittingdata to users u₀ and u₁.

Referring now to FIG. 2, FIG. 2 illustrates a functional block diagramof controller 106. As shown in FIG. 2, controller 106, may include amatrix computing module 204 that computes, for each of users u₀ and u₁,a channel response matrix H and an interference constraint matrix Gbased on received reverse link signals (i.e., data transmitted tocontroller 106 from a base station 104). For example, a base station 104may receive a pilot signal from a user and, based on the pilot, estimatethe channel between the base station and the use. This channel estimatemay then be sent to controller 106, which may be configured to use thechannel estimate to compute H and G.

Controller 106 may further include (1) an input covariance matrixcomputing module 206 for computing, for each of users u₀ and u₁, aninput covariance matrix S, and (2) an antenna weight computing module208 for computing, for each of users u₀ and u₁, antenna weights for eachcooperating base station 104. The antenna weights are then used totransmit data to users u₀ and u₁.

Referring now to FIG. 3, FIG. 3 is a flow chart illustrating a process300, according to some embodiments, that is performed by controller 106for determining antenna weights for use in trasnsmitting data from aplurality of cooperating base stations (e.g. base stations 104 a and 104b) to a user device (e.g., user u₀). Process 300 may begin in step 302,where controller 106 determins a channel response matrix (H) for user u₀and each of a plurality of other users (e.g., user u₁) in communicationwith base stations 104. Next (step 304), controller 106 generates aninterference constraint matrix (G) for user u₀ and each of other users.Next (step 306), controller 106 determines an input covariance matrix Sfor user u₀ using the H and G for the user. Next (step 308), controller106 determines antenna weights for each of the plurality of basestations using the S determined in step 306. Finally (step 310), thedetermined antenna weights are used to transmit data to user u₀.Advantageously, the S (and hence beam forming weights) determined in instep 306 maximizes the data rate that can be reliably transmitted to theuser device subject to a predetermined power constraint (see e.g.,Equation (28)) and a predetermined, non-zero interference constraint(seee.g., Equation (29)).

Referring now to FIG. 4, FIG. 4 is a flow chart illustrating a process400, according to some embodiments, for determining S for user u₀ (i.e.,performing step 306). Process 400 may begin in step 402, wherecontroller 106 computes S subject only to a power constraint. Forexample, in step 402, controller 106 computes S using equations(12)-(16). In step 404, controller 106 uses S computed in step 402 todetermines the interference generated for other users. For example, instep 404, controller 106 generates an interfence constraint matrix. Instep 406, determines whether an interfernce constraint is satisfied. Forexample, controller 106 determines whether the interference determinedin step 404 falls within an acceptable range. If the interferenceconstaint is satisifed, process 400 may end, otherwise process 400 mayproceed to step 408. In step 408, controller 106 determines whether theinterference constraint matrix has a full rank. If it does have a fullrank, process 400 proceeds to step 410, otherwise proces 400 proceeds tostep 414.

In step 410, controller 106 computes S subject only to an interferenceconstraint. For example, in step 410, controller 106 computes S usingequations (42)-(51). In step 412, controller 106 determines a transmitpower and determines whether a power constraint is satisfied. Forexample, in step 412, controller determines whether the determinedtransmit power falls within an acceptable power range. If the powercontrainst is satisifed, then process 400 may end, otherwise process 400proceeds to step 414.

In step 414, controller 106 computes S subject to the interferenceconstraint and the power constraint. For example, in step 410,controller 106 computes S using equations (72)-(77), (81) and (82).

Referring now to FIG. 5, FIG. 5 is a flow chart illustrating a process500, according to some embodiments, for performing step 414. Process 500may begin in step 502 where a variable α is set to an initial value. Instep 503, controller 106 uses α to determine {tilde over (S)}(α). Forexample, in step 503, controller may use α and equations (72)-(77) tocalculate {tilde over (S)}(α). In step 504, controller 106 uses {tildeover (S)}(α) to determine a transmit power (Tp). For example, in step504, controller may use {tilde over (S)}(α) and equation (81) tocalculate Tp. In step 506, controller 106 determines whether thedetermined transmit power (Tp) is equal or about equal to apredetermined power constraint value (P₀). If Tp is equal or about equalto P₀, then process 500 proceeds to step 510, otherwise it proceeds tostep 508. In step 508, controller 106 updates a (e.g., controller 106either increase or decreases α). After step 508, process 500 returns tostep 503. In step 510, controller 106 uses a to compute S. For example,in step 510, controller uses α and equations (72)-(77) to determineoptimal values of {tilde over (S)} and {tilde over (W)}. Finally, theoptimal value of the input covariance matrix S can be obtained accordingto equation (82).

Referring now to FIG. 6, FIG. 6 is a functional block diagram ofcontroller 106 according to some embodiments of the invention. As shown,controller 106 may comprise a data processing system 602 (e.g., one ormore microprocessors), a data storage system 606 (e.g., one or morenon-volatile storage devices) and computer software 608 stored on thestorage system 606. Configuration parameters 610 (e.g., the abovementioned power an interference contrainst values) may also be stored instorage system 606. Controller 106 also includes transmit/receive(Tx/Rx) circuitry 604 for transmitting data to and receiving data frombase stations 104 and transmit/receive (Tx/Rx) circuitry 605 fortransmitting data to and receiving data from, for example, core network110. Software 608 is configured such that when processor 602 executessoftware 608, controller 106 performs steps described above (e.g., stepsdescribed above with reference to the flow charts). For example,software 608 may include: (1) a matrix computing module (e.g. computerinstructions) that compute, channel response matrixes H and interferenceconstraint matrixes G based on received reverse link signals; (2) aninput covariance matrix computing module (e.g, computer instructions)for computing input covariance matrixes S as described above; and (3) anantenna weight computing module (e.g., computer instructions) forcomputing antenna weights based using the computed input covariancematrixes S.

Advantages of the invention include: (1) improving the cell-edge bitratewhile at the same time increasing system capacity; (2) a simple linearimplementation technique compared to the implementation of non-linearcoordinated transmission schemes (e.g. dirty-paper coding); and (3)outperforming non-coordinated systems at all system loads, unlike thewell-known zero-forcing transmission scheme that breaks down at highsystem loads.

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. Thus, the breadth and scope of thepresent invention should not be limited by any of the above-describedexemplary embodiments.

Additionally, while the processes described above and illustrated in thedrawings are shown as a sequence of steps, this was done solely for thesake of illustration. Accordingly, it is contemplated that some stepsmay be added, some steps may be omitted, the order of the steps may bere-arranged, and some steps may be performed in parallel.

1. A method for transmitting data from a plurality of base stations to auser device, comprising: determining antenna weights for each of theplurality of base stations that maximize the data rate that can bereliably transmitted to the user device subject to a predetermined powerconstraint and a predetermined, non-zero interference constraint; andtransmitting data the user device using the determined antenna weights.2. The method of claim 1, wherein the step of determining the antennaweights comprises: for the user device and each of a plurality of otheruser devices in communication with the plurality of base stations,determining a channel response matrix (H); for the user device and eachthe plurality of other user devices, generating an interferenceconstraint matrix (G); using H and G for the user device, determining aninput covariance matrix (S) for the user device subject to the powerconstraint and the interference constraint; and using S to determine theantenna weights.
 3. The method of claim 2, wherein the step ofdetermining S subject to the power constraint and the interferenceconstraint comprises: selecting a variable (α); and using α to computeS, wherein the step of selecting a comprises: (a) setting α to aninitial value; (b) after step (a), using α to determine a transmitpower; (c) after step (b), determining whether the determined transmitpower is equal or about equal to predetermined power constraint value(P₀); and (d) after step (c), increasing or decreasing α and repeatingsteps (b) through (d) if the determined transmit power is not equal orabout equal to P₀.
 4. The method of claim 3, wherein the step of using αto determine a transmit power comprises computing equation (81).
 5. Themethod of claim 4, wherein the step of using α to determine a transmitpower further comprises computing equation (72)-(77) prior to computingequation (81).
 6. The method of claim 2, wherein the step of determiningS comprises: (a) determining S subject only to the predetermined powerconstraint; (b) after step (a), evaluating interference generated forthe plurality of other user devices; (c) based on the evaluatedinterference, determining whether the predetermined interferenceconstraint is satisfied, wherein steps (a)-(c) are performed prior tothe step of determining S subject to the predetermined power constraintand the predetermined interference constraint.
 7. The method of claim 6,wherein step (a) comprises computing equations (12) through (16).
 8. Themethod of claim 6, wherein the step of determining S further comprises:(d) determining whether an interference constraint matrix has a fullrank in response to determining in step (c) that the predeterminedinterference constraint is not satisfied.
 9. The method of claim 8,wherein the step of determining S subject to the predetermined powerconstraint and the predetermined interference constraint is performed inresponse to determining in step (d) that the interference constraintmatrix does not have a full rank.
 10. The method of claim 8, wherein thestep of determining S further comprises: (e) computing S subject only tothe predetermined interference constraint; and (f) after step (e),determining whether the power constraint is satisfied.
 11. The method ofclaim 10, wherein the step of determining S subject to the predeterminedpower constraint and the predetermined interference constraint isperformed in response to determining in step (f) that the powerconstraint is not satisfied.
 12. A controller for determining antennaweights for use in transmitting data to a user device via a plurality ofbase stations in communication with the controller, comprising: atransmitter and receiver for communicating with the plurality of basestations; a data storage system; and a data processing system, whereinthe data processing system is configured to: determine antenna weightsfor each of the plurality of base stations that maximize the data ratethat can be reliably transmitted to the user device subject to apredetermined power constraint and a predetermined, non-zerointerference constraint; and cause the data to be transmitted to theuser device using the determined antenna weights.
 13. The controller ofclaim 12, wherein the data processing system is configured to determinethe antenna weights by: determining a channel response matrix (H) forthe user device and each of a plurality of other user devices incommunication with the plurality of base stations; generating aninterference constraint matrix (G) for the user device and each theplurality of other user devices; determining an input covariance matrix(S) subject to the predetermined power constraint and the predetermined,non-zero interference constraint for the user device using H and G forthe user device; and using S to determine the antenna weights.
 14. Thecontroller of claim 13, wherein the data processing system is configuredto determine S subject to the power constraint and the interferenceconstraint by: selecting a variable (α); and using α to compute S,wherein selecting α comprises: (a) setting α to an initial value; (b)after step (a), using α to determine a transmit power; (c) after step(b), determining whether the determined transmit power is equal or aboutequal to predetermined power constraint value (P₀); and (d) after step(c), increasing or decreasing α and repeating steps (b) through (d) ifthe determined transmit power is not equal or about equal to P₀.
 15. Thecontroller of claim 14, wherein the data processing system is configuredto use α to determine a transmit power by computing equation (81). 16.The controller of claim 15, wherein the data processing system isconfigured to use α to determine a transmit power by computing equation(72)-(77) prior to computing equation (81).
 17. The controller of claim13, wherein the data processing system is configured to determine S by:(a) determining S subject only to the predetermined power constraint;(b) after (a), evaluating interference generated for the plurality ofother user devices; (c) based on the evaluated interference, determiningwhether the predetermined interference constraint is satisfied, whereinthe data processing system is configured to perform steps (a)-(c) priorto determining S subject to the predetermined power constraint and thepredetermined interference constraint.
 18. The controller of claim 17,wherein the data processing system is configured to perform step (a) bycomputing equations (12) through (16).
 19. The controller of claim 17,wherein the data processing system is configured to determine S by: (d)determining whether an interference constraint matrix has a full rank inresponse to determining in step (c) that the predetermined interferenceconstraint is not satisfied.
 20. The controller of claim 19, wherein thedata processing system is configured to determine S subject to thepredetermined power constraint and the predetermined interferenceconstraint in response to determining that the interference constraintmatrix does not have a full rank.
 21. The controller of claim 19,wherein the data processing system is configured to determine S byfurther: (e) computing S subject only to the predetermined interferenceconstraint; and (f) after (e), determining whether the power constraintis satisfied.
 22. The controller of claim 21, wherein the dataprocessing system is configured to determine S subject to thepredetermined power constraint and the predetermined interferenceconstraint in response to determining that the power constraint is notsatisfied.